Editor.Decks.CircleVocabIndividual = function () {
	var figureCircle1;
	var figureCircle2;
	var impl;
	var shape;
	return {
		init: function (s) {
			shape = s;
			impl = shape.getImplementation();
		},
		remove: function () {
			figureCircle1.remove();
			figureCircle2.remove();
			delete figureCircle1;
			delete figureCircle2;
		},
		draw: function () {
			var x1 = shape.getX() + shape.getWidth() / 2 + Editor.CONFIG.DECK_CIRCLEVOCABINDIVIDUAL_RADIUS;
			var x2 = shape.getX() + shape.getWidth() / 2 - Editor.CONFIG.DECK_CIRCLEVOCABINDIVIDUAL_RADIUS;
			var y1 = shape.getY();
			var y2 = shape.getY() + shape.getHeight() + 1;

			figureCircle1 = Editor.STATE.CANVAS.path(["M", x1, y1, "A", 1, 1, 0, 1, 0, x2, y1].join(',')).attr(Editor.CONFIG.CIRCLEVOCABINDIVIDUAL_ATTR);
			figureCircle2 = Editor.STATE.CANVAS.path(["M", x1, y2, "A", 1, 1, 0, 0, 1, x2, y2].join(',')).attr(Editor.CONFIG.CIRCLEVOCABINDIVIDUAL_ATTR);
		},
		redraw: function () {
			var x1 = shape.getX() + shape.getWidth() / 2 + Editor.CONFIG.DECK_CIRCLEVOCABINDIVIDUAL_RADIUS;
			var x2 = shape.getX() + shape.getWidth() / 2 - Editor.CONFIG.DECK_CIRCLEVOCABINDIVIDUAL_RADIUS;
			var y1 = shape.getY();
			var y2 = shape.getY() + shape.getHeight() + 1;

			figureCircle1.attr({
				path: ["M", x1, y1, "A", 1, 1, 0, 1, 0, x2, y1].join(',')
			});
			figureCircle2.attr({
				path: ["M", x1, y2, "A", 1, 1, 0, 0, 1, x2, y2].join(',')
			});
		},
		mouseover: function () {},
		mouseout: function () {},
		click: function () {},
		translate: function (deltaX, deltaY) {
			figureCircle1.translate(deltaX, deltaY);
			figureCircle2.translate(deltaX, deltaY);
		},
		toFront: function () {
			figureCircle1.toFront();
			figureCircle2.toFront();
		}
	}
}
